home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / misc_pto / 29ksim / boot.r < prev    next >
Text File  |  1987-07-14  |  1KB  |  65 lines

  1.  
  2.     .title    "AVP boot rom"
  3.  
  4. ;******************************************************************************
  5. ;
  6. ;  boot rom
  7. ;    User Mode
  8. ;    Physical Data
  9. ;    Physical Code
  10. ;    Thawed (Not Frozen)
  11. ;    Vector Trap (route traps through table)
  12. ;    Cache On
  13. ;    Traps Off
  14. ;
  15. ;******************************************************************************
  16.  
  17.     .include    "sr.h"
  18.     .include    "macro.h"
  19.  
  20. brom    .seg    code, absolute 0    ; boot rom
  21.  
  22. MAIN    .equ    1024 * 4        ; where user code starts
  23.  
  24.     .use    brom
  25. reset:    jmp    [absolute] init
  26.     xor    gr01, gr02, gr02    ; zero stack pointer
  27.  
  28.  
  29.     .block    16-.        ; skip to place to put warn code
  30. warn:    jmp    [absolute] warn
  31.     or    lr00, lr00, lr00
  32.  
  33. init:
  34. cfTemp    .set    VECTOR_FETCH
  35. cfTemp    .set    VECTOR_RAM + cfTemp
  36. cfTemp    .set    IBM_ORDER + cfTemp
  37. cfTemp    .set    COPROC_ABSENT + cfTemp
  38. cfTemp    .set    CACHE_ENABLE + cfTemp
  39.     mtspim    CFG, cfTemp
  40.  
  41.     const    gr03, 0ffff#h    ; initialize timer
  42.     consth    gr03, 0ff#h
  43.     mtsp    TC, gr03
  44.     mtspim    TR, 0#h        ; turn off timer traps, etc
  45.     mtspim    MMU, PAGE_SIZE_4K + 55#h; 55 is proc. id number
  46.     mtspim    VAB, 0        ; vector fetch area
  47.     mtspim    RBP, 00000#h    ; no protection
  48.     mtspim    CHC, 0        ; turn off cvb and mlb
  49.  
  50. opsTemp    .set    THAW
  51. opsTemp    .set    NO_ROM_EN + opsTemp
  52. opsTemp    .set    PHYS_DATA + opsTemp
  53. opsTemp    .set    PHYS_INSTR + opsTemp
  54. opsTemp    .set    USER + opsTemp
  55. opsTemp    .set    DISABLE_INT + opsTemp
  56. opsTemp    .set    ENABLE_ALL + opsTemp
  57.     mtspim    OPS, opsTemp
  58.  
  59.     mtspim    PC1, MAIN
  60.     mtspim    PC0, MAIN + 4
  61.     ireti
  62.     nop
  63.     nop
  64.     .end
  65.